// pages/play/play.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    musiclist:[],//歌曲列表
    nowindex:"",//当前歌曲下标
    music:{},//当前歌曲数据
    musicid:'',//音乐ID
    action:{
      "method":"play"//控制播放
    },
    lrcc:[]//歌词数组
  },

  playdata(){//播放的控制
   let data=this.data.action.method
   if(data=="play"){
     this.setData({
      action:{
        "method":"pause"//暂停
      },
     })
   }else{
    this.setData({
      action:{
        "method":"play"//暂停
      },
     })
   }
  },

  getlrc(){//获取歌词
    wx.request({
      url: `http://localhost:3000/lyric?id=${this.data.musicid}`,
      success:(res)=>{
        //console.log(res.data.lrc.lyric)
        const lrcstr=res.data.lrc.lyric
        this.setlrcshow(lrcstr)//调用整理歌词
      }
    })
  },

  setlrcshow(lrc){//整理歌词格式
    let xpplist=[]//定义空数组
    //console.log(lrc)
    let lrclist=lrc.split("\n")//将字符串变成数组 见到\n就拆分
    //分离时间和歌词 正则表达式
    const re=/\[\d{2}:\d{2}\.\d{2,3}\]/
    lrclist.forEach(item => {
      let itemdate=item.match(re)//获取时间
      if(itemdate){
        itemdate=itemdate[0]
        //整理时间拆分中括号
        itemdate=itemdate.slice(1,-1)
        //console.log(itemdate)
        //根据:分割 转换为分钟秒钟
        const timelist=itemdate.split(':')
        const time0=timelist[0]
        const time1=timelist[1]
        //console.log(time1,time1)
        //整理拿到最后时间值
        const time=parseFloat(time0)*60+parseFloat(time1)
        //找歌词 替换方法把符合时间的清除掉
        const lrcstr=item.replace(re,"")//将符合正则re的部分替换成""
        xpplist.push([time,lrcstr])//将整合好的数据放入声明的空数组中
      }
    });
    console.log(xpplist)
    //存储
    this.setData({
      lrcc:xpplist
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    //获取首页传递过来的歌曲数据 
    const eventChannel = this.getOpenerEventChannel()
    // 监听 acceptDataFromOpenerPage 事件，获取上一页面通eventChannel 传送到当前页面的数据
    eventChannel.on('acceptDataFromOpenerPage', data=> {
      //console.log(data.data)
      let musiclist=data.data.musicdata
      let nowindex=data.data.nowindex
      //得到当前播放的歌曲
      let music=musiclist[nowindex]
      //console.log(music)
      this.setData({
        musiclist:musiclist,
        nowindex:nowindex,
        music:music,
        musicid:music.id
      })
    })
    this.getlrc()
  },


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})